当前位置: Linux > docker > dockerfile的语法和指令

dockerfile的语法和指令

2024-06-05 分类:docker 作者:admin 阅读(34)

dockerfile是什么?

Dockerfile 是由一系列指令和参数构成的脚本,一个 Dockerfile 里面包含了构建整个镜像的完整命令。通过 docker build 执行 Dockerfile 中的一系列指令自动构建镜像。

常用指令

FROM:基础镜像,FROM 命令必须是 Dockerfile的首个命令
LABEL:为镜像生成元数据标签信息
USER:指定运行容器时的用户名或 UID,后续 RUN 也会使用指定用户。
RUN:RUN 是Dockerfile 行的核心部分。它接受作为参数并用于创建镜像。每条 RUN 在当前基础像上执行,并且会提交一个新镜像层
WORKDIR:设置 CMD 指明的命今的运行目录。为后续的 RUN、CMD、ENTRYPOINT、ADD 指配置工作目录
ENV:容器启动的环境变量
ARG:构建环境的环境变量-dockerfile使用
COPY:复制文件
CMD: 容器运行时执行的默认命令,容易被覆盖,可以用ENTRYPOINT
ENTRYPOINT:指定容器的”入口”
HEALTHCHECK: 容器健康状态检查

 

————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qq_37987165/article/details/131402450


多阶段构建:

  1. 分阶段构建

    • 使用 AS 关键字可以为某一阶段的构建命名。在这个例子中,AS builder 表示这个阶段是名为 builder 的构建阶段。每个from都可以使用。
  2. 优化镜像大小

    • 多阶段构建允许你在一个 Dockerfile 中定义多个构建阶段。你可以在第一个阶段中构建应用程序(例如,编译 Go 程序),然后在后续阶段中只复制所需的文件,最终生成的镜像只包含运行应用程序所需的部分,从而减少最终镜像的大小。(在 Docker 的多阶段构建中,最终生成的镜像只包含最后一个阶段中显式复制或创建的文件。这是多阶段构建的一个重要特性
  3. 示例解释

    • 在您的 Dockerfile 中,第一个阶段(FROM golang:1.21-alpine AS builder)用于构建 Go 应用程序。在这个阶段中,您安装了 Git、下载了依赖并编译了应用程序。
    • 第二个阶段(FROM alpine:latest)使用 COPY --from=builder /app/app . 从名为 builder 的阶段复制编译好的应用程序文件。这样,最终的镜像只包含运行应用程序所需的文件,而不包含构建过程中使用的工具和依赖。

「三年博客,如果觉得我的文章对您有用,请帮助本站成长」

赞(0) 打赏

支付宝
微信
0

支付宝
微信
标签:

上一篇:

下一篇:

你可能感兴趣

共有 0 - dockerfile的语法和指令

博客简介

精彩评论

  • admin(6年前 (2020-03-09))

    分别用不同厚度的筏板定义,画图后这设置筏板变截面处理。 http://f.fwxgx.co...

    评:新文章!
  • admin(6年前 (2020-03-09))

    分别用不同厚度的筏板定义,画图后这设置筏板变截面处理。 http://f.fwxgx.co...

    评:新文章!
  • admin(6年前 (2020-03-09))

    新增一个框架图! http://biji.jinli.vip/wp-content/upl...

    评:新文章!
  • 一位WordPress评论者(6年前 (2020-02-13))

    嗨,这是一条评论。 要开始审核、编辑及删除评论,请访问仪表盘的“评论”页面。 评论者头像来自...

    评:世界,您好!